Printers generally include a print controller that receives raw print data (e.g., Page Description Language (PDL) data), and a print engine. The print controller rasterizes the logical pages of the print job into bitmap images. Typically, bitmap images for the print job take up a much larger amount of storage space than the original PDL data for the print job. Thus, some modern printing systems may also include one or more hard disk drives to store bitmap data. A disk (or a partition of a disk) that is used to store bitmap data may also be referred to as a rip spool.
During the printing process, print data for the job (e.g., PDL data) is rasterized and written to the rip spool. The bitmap data may then be de-spooled and sent to a print engine for imprinting to a media, such as paper. The rip spool is used as a buffer between the rasterization process and the imprinting process, because the time required to rasterize different print jobs (or different parts of the same print job) may vary due to differences in the complexity of the PDL data. Therefore, while a print engine may consume bitmap data at a nearly fixed rate based on the print speed of the printer, the rasterizer (or rasterizers) produces bitmap data at a varying rate based on the complexity of the PDL data in the print job.
When printing multiple copies of a print job, it is more efficient to rasterize the print job once and to write the complete raster data for the job to the rip spool. Raster data for the print job may then be de-spooled multiple times off of the rip spool and sent to the print engine. This improves the throughput of the printing process because it is faster to de-spool the raster data multiple times from the rip spool than it is to rasterize the print job multiple times.
A rip spool, although large in storage space, is a finite resource and therefore, may eventually run out of storage space (e.g., become full). Also, the rip spool may be too small to store a complete rasterized version of a print job. It thus remains a problem to recover from an out of storage condition at a rip spool for storing raster data for a print job.